package com.legendshop.openportal.sdk.client;

import com.legendshop.openportal.sdk.client.http.HttpResponseAnalyzer;
import com.legendshop.openportal.sdk.client.http.HttpResponseHandler;
import com.legendshop.openportal.sdk.client.http.handler.DefaultHttpResponseHandler;
import com.legendshop.openportal.sdk.model.BaseRequest;
import com.legendshop.openportal.sdk.model.OpenResult;
import com.legendshop.openportal.sdk.registry.OpenClientRegistry;

import java.lang.reflect.Type;
import java.util.List;

/**
 * @author jzh
 * @version 1.0.0
 * @title OpenClient
 * @date 2024/6/18 10:37
 * @description：开放平台客户端处理
 */
public interface OpenClient {

    /**
     * 执行请求
     * @param requestParams
     * @return
     * @param <input>
     * @param <output>
     */
    <input extends BaseRequest, output> OpenResult<output> execute(ClientExecutionParams<input, output> requestParams);


}
